Geographic information systems (GIS) permit for the archiving, retrieving, and manipulation of data that has been stored and indexed according to the geographic coordinates of its elements.
GIS systems can provide particular challenges for proper database design. That is because GIS information does not fit nicely into a single data type that can be stored in one type of flat-file or relational database. Rather, GIS systems often involve use a variety of data types, such as imagery, maps, and tables. GIS systems may also be very large, such as when they cover a large area and include expansive amounts of information about various points in an area, or cover a very large area like the entire world. Addressing, topographical, or demographic data for various areas may be stored, and may be fairly large to store. In addition, GIS systems that provide graphical representations of data (such as on a map or a 3D representation of the globe) have even more challenges in organizing data, and storing massive amounts of data. Graphical data, such as 3D structures to be placed on a geographic representation, such as on Google Maps or Google Earth, may be especially large and unwieldy.
When many different pieces of data are stored for a large area, and those pieces themselves are large, it can be a real challenge to organize, update, and search the data, and to present it quickly and accurately to users of a system.